/**
  ******************************************************************************
  * COPYRIGHT(C) USTC-ROBOWALKER
  * @file    super_cap.h
  * @author  Glorill 1615688664@qq.com
  * @brief   超级电容通信
  * @date    2021-12-4
  * @version 1.0
  *
  ******************************************************************************
  */
#ifndef __SUPER_CAP_H__
#define __SUPER_CAP_H__

#include <stdint.h>

class C_SUPER_CAP
{
    private:
        float StoredEnergy;                 //电容储存的能量 单位：焦耳
        float OutputPower;                  // 电容输出的功率 单位：瓦

    public:
        CAN_HandleTypeDef *hcan; // CAN总线
        uint16_t TX_ID;             // CAN发送ID
        C_SUPER_CAP(CAN_HandleTypeDef *_hcan, uint16_t _TX_ID)
        {
            hcan = _hcan;
            TX_ID = _TX_ID;
        };

        void SetlimitedPower(int16_t);
        float GetStoredEnergy(void) { return StoredEnergy; };
        float GetOutputPower(void) { return OutputPower; };

        void update(uint8_t can_rx_data[]);
};

#endif
